﻿#pragma once

//-------------------------------------------
//
//锚杆上位机结构体
//-------------------------------------------


/************************************************************************/
/*            HC-MG 锚杆上位机结构体
/* 可读取文件格式：.mg .mgy
/************************************************************************/


//文件版本
typedef struct MG_VERSION
{
	char	chSoftFlag[12];					//L"HC_MG"   最新版本L"HC_MGY"
	int		nFileDaiHao;					//软件代号  1
	int		nFileVersion;					//文件版本号 100  110  120 
	char	chRes1[100];					//预留
}MG_Version;

//---------------------------------上位机数据结构体-------------------------//

/************************************************************************/
/*	版本一 数据文件
/*	该结构体 源于D10锚杆，该版本已经发布，所以要兼容此文件结构。
/*	文件版本 FILE_VERSION == 100
/************************************************************************/
struct MGY_DATA
{
	float	fYali;
	float	fWeiyi;
	char	strDate[32];
};

typedef struct MGY_DATA_INFO
{
	char	strProjectName[120];			//工程名称
	char	strPileName[60];				//桩名称
	char	strTestDate[32];				//测试时间
	char	strTestUnit[120];				//检测单位
	char	strYiqiNo[40];					//仪器编号
	char	strTestPerson[20];				//检测人员
	char	strShangGangZhengNo[40];		//上岗证号
	char	strJingWeiDu[60];				//经纬度
	char	strJianDingNO[40];				//检定证号
	char	strJiandingDate[60];			//检定日期
	int		nStepNidx;						//步长索引
	int		nWeiyiCGQNidx;					//无线位移传感器索引
	int		nYouyaCGQNidx;					//无线油压传感器索引
	int		nMoveDirecNidx;					//运动方向索引
	int		nDataCnt;						//数据个数
	int		nDateType;						//数据类型 0-无线锚杆
	char	chModify;						//判断是否有修改
	char	strYiqiType[40];				//仪器型号
	char	chShowTime;						//1-显示时间 0-不显示时间
	char	chRes1[959];					//备用1

	MGY_DATA gm_data[2000];					//数据	//221031将长度1000改为2000
	//char	chRes2[1000];					//备用2
}MGY_Data_Info;


/************************************************************************/
/*	版本二 数据文件
/*	该结构体 源于静载锚杆，锚杆要做独立软件，由于锚杆基本试验与静载类似，所以就用静载文件格式。
/*	文件版本 FILE_VERSION == 110
/************************************************************************/

//数据参数
typedef struct DATA_INFO
{
	float	fWeiyi[8];				//  	//位移数值 
	float	fWeiyiAvg;				//  	//平均位移值
	float	fLoadValue;				//  	//本级荷载值
	int		nIdx;					//  	//本级索引
	int		nRecordId;				//  	//原始记录索引
	float	fCurLoad;				//  	//当前荷载值
	float	fCurYouya;				//#  	//当前油压值   MPa
	int		nTimeGap;				//  	//时间间隔
	char	chRecordTime[40];		//  	//记录时间
	int		nJiaZaiOrXieZai;		//  	//加载卸载标志位  3:加载 5：卸载
	char	chBeiZhu[120];			//  	//备注
	char    chLatuodian;			//		//是否是拉脱点 1是 0不是
	char	chRes[199];				//  	//备用
}Data_Info;

//工程信息
typedef struct MG_PROJECT_INFO	//偏移量
{
	char	chProjectName[120];		//		//工程名称
	char	chTestDate[28];			//		//检测时间
	char	chUploadDate[28];		//		//上传时间
	char	chPileNum[60];			//		//桩编号
	float	nMaxLoad;				//		//最大荷载 1～50000，单位：kN 设计拉力
	int		nFirstLoad;				//#		//首次加载级数 1～100
	int		nYuLoadGrade;			//#		//预加载分级数 1～200
	int		nLoadGrade;				//		//当前加载分级数 1～200
	float	fLoadList[200];			//		//加载级数列表
	int		nLoadoffGrade;			//		//当前卸载载分级数 1～200
	float	fLoadoffList[200];		//		//卸载级数列表
	float	fPileDiam;				//		//桩径  方桩是 此值为基桩长  单位mm
	int		nPileDiamW;				//#		//基桩宽	单位mm
	float	fPilelength;			//		//桩长
	char	chTestNo[60];			//#		//测试流水号 桩文件的上传流水号，此项为上传服务器所需信息，取值范围：24字符
	char	chUnit;					//#		//压力单位 0:kN、 1:KPa
	char	chShape;				//#		//桩截面形状  0：圆形  1：矩形
	char	chStandard;				//		//规范
	char	chXunHuanCnt;			//		//循环次数
	int		nChuShiHeZai;			//		//初始荷载 是个百分比 整数
	char    chGuiFanType;			//		//规范类型
	char    chGuiFanName;			//		//规范检测方法名称
	char	chRss1[38];				//		//预留

	char	chWeiYiSensorNum[104];	//		//位移传感器编号
	char	chWeiYiSensorNum2[100];	//		//位移传感器编号2
	char	chYaLiSensorNum[60];	//		//压力传感器编号
	float	fPlateArea;				//#		//承压板面积 单位 m²

	char	chChanelUsed[8];		//		//位移通道选择中的测试用途  正常8通道  锚杆二期2通道
	char	chChannelSel[8];		//		//位移通道选择 正常8通道
	char	chMaoPileNum[8][40];	//#		//锚桩编号
	int		nLoadTimeList[12];		//		//加载时间间隔 12个值
	int		nLoadOffTimeList[12];	//		//卸载时间间隔

	int		nDataCnt;				//		//数据个数 最多400个
	char	chBeizhu[100];			//		//打印设置-表头设置-自定义表头-备注

	char	chYiqiNum[60];			//		//仪器编号
	char	chTestPeople[28];		//		//测试人员
	char	chTestPeopleNo[40];		//		//人员编号 上岗证号
	char	chJiangdingNo[40];		//		//检定证号
	char	chTestUnit[100];		//		//测试单位
	char	chSheJiUnit[100];		//		//设计单位
	char	chJianSheUnit[100];		//		//建设单位
	char	chJianLiUnit[100];		//		//监理单位
	char	chJianDuUnit[100];		//		//监督单位
	char	chShiGongUnit[100];		//		//施工单位
	char	chWeiTuoUnit[100];		//		//委托单位
	char	chProjectAddr[100];		//		//工程地点
	char	chHeTongNum[40];		//		//合同号
	char	chWeiTuoNum[40];		//		//委托编号
	char	chReportNum[40];		//		//报告编号
	char	chWeiTuoDate[28];		//		//委托时间
	char	chShiGongDate[28];		//		//施工日期
	char	chShenhePeople[28];		//		//审核人员
	char	chShenhePeopleNo[40];	//		//审核人员 上岗证号

	char	chJiandingDate[28];		//		//检定日期
	char	chJingWeidu[40];		//		//经纬度
	char	chShowTime;				//		//1-显示时间 0-不显示时间
	char	chMaoGanType;			//		//锚杆类型
	char	chSafetyLevel;			//		//安全等级
	char	chMoveDirecNidx1;		//		//位移传感器1运动方向索引
	char	chMoveDirecNidx2;		//		//位移传感器2运动方向索引
	char	chStepNidx;				//		//步长索引
	char	chWeiYiCGQNidx1;		//		//位移传感器1索引
	char	chWeiYiCGQNidx2;		//		//位移传感器2索引
	char	chYouYaCGQNidx;			//		//压传感器索引
	char	chGuDingType;			//		//固定类型
	char	chMaoGanFangShi;		//		//锚杆方式
	char	chRes2[1001];			//		//预留2
}MG_Project_Info;					//	
